home *** CD-ROM | disk | FTP | other *** search
- ╔═══════════════════════════════════╗
- ║JOYSTICK UNIT FOR TP6.0 VERSION 1.3║
- ╚═══════════════════════════════════╝
- ╔═══════════════════════════════════╗
- ║ From: OGWare ║
- ║ By : Ole Gunnar Westgaard ║
- ║ Made: 2 July 1992 at 06:12 am (!) ║
- ╚═══════════════════════════════════╝
-
- PROSEDYRER:
- ───────────
-
- Grenser(X1,Y1,X2,Y2:INTEGER);
- ═════════════════════════════
- - Gj¢r klar for bruk av integrert cursor i UNITEN.
- - Setter en ramme hvor cursoren ikke får gå utenfor, der:
- - (X1,Y1) er ¢vre venstre hj¢rne.
- - (X2,Y2) er nedre h¢yre hj¢rne.
- - Disse verdiene kan du finne igjen i:
- - (MinX,MinY) og (MaxX,MaxY).
- - Disse kan du aksessere direkte også, de få direkte virkninger på rammen
- som cursoren befinner seg inne i.
-
- SettPos(X,Y:INTEGER);
- ═════════════════════
- - Plasserer Cursoren på skjermen.
- - Koordinatene er globale, det betyr at SettPos(1,1) vil plassere cursoren
- i ¢verste venstre hj¢rne på skjermen.
- - Du kan altså plassere cursoren utenfor denne rammen, men den vil straks
- plasseres innenfor rammen igjen når du kaller Stick1 eller Stick2.
- - Du kan også aksessere disse direkte: (XPos,YPos).
-
- VisPos(Forsinkelse:INTEGER);
- ════════════════════════════
- - Vis cursoren på skjermen med en lengde=forsinkelse.
- - Ett tall på mellom 10 og 20 er anbefalt som forsinkelse.
-
- HentXY(VAR X,Y:INTEGER);
- ════════════════════════
- - Legger inn posisjonen i de variablene du setter in i denne prosedyren.
-
- JoyStick1(VAR X,Y,K1,K2:INTEGER); / JoyStick2(VAR X,Y,K1,K2:INTEGER);
- ═════════════════════════════════════════════════════════════════════
- - Henter variabler fra Joystick #1 og #2.
- - X og Y er de 'ekte' tallene rapportert fra joystick-kortet, de er altså
- ikke oversatt på noen måte.
- - K1 og K2 er Knapp 1 og 2, de settes lik 1 om de er trykket inn.
- - Det anbefales ikke å bruke denne prosedyren.
- - Dette er prosedyren som ligger til grunn for hele UNITEN.
-
- FUNCTION: (!) Stick1(VAR Xret,YRet:INTEGER):INTEGER; og:
- FUNCTION: (!) Stick2(VAR Xret,YRet:INTEGER):INTEGER;
- ════════════════════════════════════════════════════════
- - Dette er rutinen som er brukt i eksempelet, det er også den enkleste.
- - Eksempel på bruk:
- - Knapp:=Stick1(Vertikal,Horisontal);
- - Knapp inneholder knappe verdien:
- - Knapp=0 > Ingen knapper trykket inn.
- Knapp=1 > Knapp 1 trykket inn.
- Knapp=2 > Knapp 2 trykket inn.
- Knapp=3 > Begge knappen er trykket inn.
- - Vertikal inneholder joystickens bevegelse vertikalt:
- - Vertikal=-1 > Joystick pinnen er presset oppover/Fremover.
- Vertikal= 0 > Joystick pinnen er ikke presset vertikalt.
- Vertikal=+1 > Joystick pinnen er presset nedover/Bakover.
- - Horsontal inneholder joystickens bevegelse vertikalt:
- - Horisontal=-1 > Joystick pinnen er presset til venstre.
- Horisontal= 0 > Joystick pinnen er ikke presset Horisontalt.
- Horisontal=+1 > Joystick pinnen er presset til h¢yre.
- - Dessuten er det denne rutinen som oppdaterer posisjonen (XPos,YPos) til
- cursoren.
-
- Initier1(A,B:BYTE); / Initier2(A,B:BYTE);
- ═════════════════════════════════════════
- - Initierer joysticken slik at den er klar til bruk.
- - Må benyttes f¢r man starter opp.
- - A er f¢lsomheten (3-255) til joysticken i X-retning.
- - B er f¢lsomheten (3-255) til joysticken i Y-retning.
- - Desto h¢yere tall i A,B : desto st¢digere joystick.
- - En verdi fra 5-10 er anbefalt verdi for A og B.
-
- FinJuster1; / FinJuster2;
- ═════════════════════════
- - Spesiallaget prosedyre for å fininstille joysticken.
- - Burde ikke (SKAL IKKE) startes f¢r INITIERn er brukt, da denne prosedyren
- går ut ifra verdier som den setter.
- - Her kan man justere g¢lsomhet ++
-
-
- VARIABLER i JOYSTICK.TPU:
- ═════════════════════════
- GlobalInit:BOOLEAN├──────> TRUE hvis man har initiert cursorramme.
- XPos,YPos:INTEGER├───────> Cursorens posisjon til enhver tid.
- MaxX,MaxY:INTEGER├───────> CursorRammens nedre h¢yre hj¢rne.
- MinX,MinY:INTEGER├───────> CursorRammens ¢vre venstre hj¢rne.
- OV1,OV2:STRING├──────────> Beskjeden: 'Plasser... i ¥vre vens...' kan endres.
- NH1.NH2:STRING├──────────> Beskjeden: 'Plasser... i nedre h¢y...' kan endres.
- EJ1,EJ2:STRING├──────────> Beskjeden: '...skulle være justert...' kan endres.
- DeltaX1,DeltaY1:INTEGER├─> Gapet fra misnste til st¢rste verdi på utslag #1.
- DeltaX2,DeltaY2:INTEGER├─> Gapet fra misnste til st¢rste verdi på utslag #2.
- XRes1,Yres1:INTEGER├─────> Inneholder f¢lsomheten for joystick #1.
- XRes2,Yres2:INTEGER├─────> Inneholder f¢lsomheten for joystick #2.
- GrenseX1a:INTEGER├───────> Joy #1: verdier for X bevegelse til: Stick1.
- GrenseX1b:INTEGER├───────> Joy #1: verdier for X bevegelse til: Stick1.
- GrenseY1a:INTEGER├───────> Joy #1: verdier for Y bevegelse til: Stick1.
- GrenseY1b:INTEGER├───────> Joy #1: verdier for Y bevegelse til: Stick1.
- GrenseX2a:INTEGER├───────> Joy #2: verdier for X bevegelse til: Stick2.
- GrenseX2b:INTEGER├───────> Joy #2: verdier for X bevegelse til: Stick2.
- GrenseY2a:INTEGER├───────> Joy #2: verdier for Y bevegelse til: Stick2.
- GrenseY2b:INTEGER├───────> Joy #2: verdier for Y bevegelse til: Stick2.
-
-
- ══════════════════════════════════════════════════════════════════════════════
- Generelle kommentarer
- ══════════════════════════════════════════════════════════════════════════════
-
- Denne uniten 'konverterer' en analog joystick til en digital, slik at man
- kan bruke enkle prosedyrer i et TP program.
-
- UNITEN er freeware, det betyr:
- - Bruk den som du vil, la andre få den osv, men:
- - Man har ikke lov til å selge den, det er ikke DITT produkt!
- - Alle filene skal f¢lge med når andre kopierer dem (3 stk nå).
- - Alle gaver mottas med takk...
-
- Skulle du noen gang trenge en engelsk versjon, ta kontakt med meg, adressen
- finner du til slutt i denne filen.
-
- For en liten sum kan du få tilgang til kildekoden og nye versjoner av uniten.
-
- planlagte forbedinger:
- - JOYMOUSE.TPU en unit som kan ligge resident og emulere musbruk, evt ta
- over interrupt 10h (MOUSEDRIVER Interrupt).
- - Analog JOYSTICK.TPU hvilket betyr at utslaget blir st¢rre jo lenger en
- beveger joystick pinnen utover fra midten, slik at man kan bevege seg
- med flere hastigheter enkelt.
- - Generelle forbedringer i den nåværende TPU.
-
- Kontakt meg om du skulle være interessert i slike forbedringer:
-
- Ole Gunnar Westgaard
- 27a 402 Fjellbirkeland
- Sognsveien 218
- 0864 OSLO
- 02 - 187424
-
- Eller:
-
- Ole Gunnar Westgaard
- Gautesveg 18a, Åfoss
- 3700 SKien
- 03 - 545398
-
- Hygg deg med uniten, ta kontakt om du vil bruke denne kommersiellt,
- og vi kan diskutere saken.
- Det finnes alltid en ålreit l¢sning...
-